<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD><TITLE>Tk_GetUid manual page - Library Procedures</TITLE>
<link rel="stylesheet" href="../docs.css" type="text/css" media="all">
</HEAD>
<BODY><H2><a href="../contents.htm">Tcl8.6.11/Tk8.6.11 Documentation</a> <small>&gt;</small> <a href="contents.htm">Tk C API</a> <small>&gt;</small> GetUid</H2>
<H3><A HREF="../UserCmd/contents.htm">Tcl/Tk Applications</A> | <A HREF="../TclCmd/contents.htm">Tcl Commands</A> | <A HREF="../TkCmd/contents.htm">Tk Commands</A> | <A HREF="../ItclCmd/contents.htm">[incr Tcl] Package Commands</A> | <A HREF="../SqliteCmd/contents.htm">SQLite3 Package Commands</A> | <A HREF="../TdbcCmd/contents.htm">TDBC Package Commands</A> | <A HREF="../TdbcmysqlCmd/contents.htm">tdbc::mysql Package Commands</A> | <A HREF="../TdbcodbcCmd/contents.htm">tdbc::odbc Package Commands</A> | <A HREF="../TdbcpostgresCmd/contents.htm">tdbc::postgres Package Commands</A> | <A HREF="../TdbcsqliteCmd/contents.htm">tdbc::sqlite3 Package Commands</A> | <A HREF="../ThreadCmd/contents.htm">Thread Package Commands</A> | <A HREF="../TclLib/contents.htm">Tcl C API</A> | <A HREF="../TkLib/contents.htm">Tk C API</A> | <A HREF="../ItclLib/contents.htm">[incr Tcl] Package C API</A> | <A HREF="../TdbcLib/contents.htm">TDBC Package C API</A></H3>
<H3><A NAME="M2">NAME</A></H3>
Tk_GetUid, Tk_Uid &mdash; convert from string to unique identifier
<H3><A NAME="M3">SYNOPSIS</A></H3>
<B>#include &lt;tk.h&gt;</B><BR>
Tk_Uid<BR>
<B>Tk_GetUid</B>(<I>string</I>)<BR>
<H3><A NAME="M4">ARGUMENTS</A></H3>
<DL class="arguments">
<DT>char <B>*string</B> (in)<DD>
String for which the corresponding unique identifier is
desired.
<P></DL>
<H3><A NAME="M5">DESCRIPTION</A></H3>
<B>Tk_GetUid</B> returns the unique identifier corresponding
to <I>string</I>.
Unique identifiers are similar to atoms in Lisp, and are used
in Tk to speed up comparisons and
searches.  A unique identifier (type Tk_Uid) is a string pointer
and may be used anywhere that a variable of type
&ldquo;char *&rdquo;
could be used.  However, there is guaranteed to be exactly
one unique identifier for any given string value.  If <B>Tk_GetUid</B>
is called twice, once with string <I>a</I> and once with string
<I>b</I>, and if <I>a</I> and <I>b</I> have the same string value
(strcmp(a, b) == 0), then <B>Tk_GetUid</B> will return exactly
the same Tk_Uid value for each call (Tk_GetUid(a) == Tk_GetUid(b)).
This means that variables of type
Tk_Uid may be compared directly (x == y) without having to call
<B>strcmp</B>.
In addition, the return value from <B>Tk_GetUid</B> will have the
same string value as its argument (strcmp(Tk_GetUid(a), a) == 0).
<H3><A NAME="M6">KEYWORDS</A></H3>
<A href="../Keywords/A.htm#atom">atom</A>, <A href="../Keywords/U.htm#unique identifier">unique identifier</A>
<div class="copy">Copyright &copy; 1990 The Regents of the University of California.
<BR>Copyright &copy; 1994-1996 Sun Microsystems, Inc.
</div>
</BODY></HTML>
